
package view;

import control.Comando;
import control.Controle;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.*;
import model.*;

/**
 * Classe de interface para pesquisar por músicas no sistema, o campo de pesquisa é comparado, de forma
 * case-insensitive a: nome da música, nome do autor da música, tags de pesquisa do autor da música e
 * nome, ano de lançamento e gênero de cada álbum que contenha a música;
 * 
 */
public class InterfacePesquisarMusica implements Comando {

    @Override
    public void executar() {
        
        String pesquisa = Controle.getInput("Pesquisar:", "Pesquisar Músicas");
        ArrayList<String> musicas = new ArrayList();
                
        Iterator<Musica> it = Controle.pesquisarMusicas(pesquisa).iterator();        
        while(it.hasNext())
        {
            Musica musica = it.next();
            musicas.add(musica.toString());
        }
        
        if (musicas.size() == 0) JOptionPane.showMessageDialog(null, "Não houveram resposta a sua pesquisa.");
        else Controle.getInput("Musicas Encontradas:", "Pesquisar Músicas", musicas.toArray());        
    }
    
    public static boolean isInteger(String str)  
    {
      try  
      {
        int d = Integer.parseInt(str);  
      }
      catch(NumberFormatException nfe)  
      {
        return false;  
      }
      return true;  
    }
}
